home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
archive
/
sys
/
kowin14d.lzh
/
doc
/
programming
/
process.doc
< prev
next >
Wrap
Text File
|
1994-09-01
|
3KB
|
77 lines
Ko-Window プログラミング Human のプロセスに関する予備知識
プロセスという言葉は、Human68k でも Ko-Window でも使われますが、それぞれ意
味が違う場合があります。これらの関係をまとめてみます。
<<< 概念図 >>>
[BG機能無し]
Human68k
|-- Humanプロセス -- ~ Human子プロセス Ko-Window
|-- Ko-Windowプロセス1
|-- Ko-Windowプロセス2
|-- Ko-Windowプロセス3
|-- Ko-Windowプロセス4
[BG機能あり]
Human68k
|--スレッド0
| |-- Humanプロセス -- ~ Human子プロセス Ko-Window
| |-- Ko-Windowプロセス1
| |-- Ko-Windowプロセス2
| |-- Ko-Windowプロセス3
| |-- Ko-Windowプロセス4
|--スレッド1
| |-- HumanBGプロセス
|
|--スレッド2
|-- HumanBGプロセス -- Human子プロセス
縦(↓)方向への伸び(スレッドもしくはKo-Windowプロセス)は並列動作、つまりマル
チタスクを意味します。横(→)方向(Humanプロセス)は親子関係でありマルチタスクし
ません。このように Human のプロセスは親から子への1直線のみで基本的にシングル
タスクになっています。
スレッドとは BG 機能と呼ばれるものの動作単位です。Humanプロセスを BG で動
かすということは、スレッドを増やすことになります。もし BG 機能を使わない時は
スレッド 0 のみで、Human プロセスが縦方向に延びることはありません。
Ko-Window は原則としてスレッド 0 でのみ動きます。Ko-Window がさらに Human
子プロセスを生成する場合があります。例えば Command.win 内で外部コマンドを実
行した場合がこれに相当します。
~ Humanプロセス Ko-Window
|-- Ko-Windowプロセス1 -- Human子プロセス
|-- Ko-Windowプロセス2
|-- Ko-Windowプロセス3
この場合 Ko-Window と子プロセスとは横方向の親子関係なので、マルチタスクしま
せん。親プロセスは子プロセスの終了を待たなければならないため、親である
Ko-Window は止まってしまうわけです。
Human68k
|--スレッド0
| |-- ~ Human子プロセス Ko-Window
| |-- Ko-Windowプロセス1 . . . .
| |-- Ko-Windowプロセス2 :
| |-- Ko-Windowプロセス3 :
| |-- Ko-Windowプロセス4 :
|--スレッド1 :
| |-- HumanBGプロセス . . . . . . . . . . . . . . . . . . .:
パイプ
Ko-Window で BG 機能を使った場合は、表示がウィンドウに行われるなど一見子プ
ロセスとして起動してるように見えますが、実は新たなスレッドをを登録して並列関
係になっています。だから Ko-Window も止まりません。入出力のリンクは、ウィンド
ウとスレッドとに特殊な別のパイプを繋いで実現しています。
1994 8/22 小笠原博之
oga@dgw.yz.yamagata-u.ac.jp
DenDenNET: DEN0006 COR.